package com.cctc.framework.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util
{
    private static MessageDigest md = null;
    
    public static String md5s(byte[] plainText)
    {
        char hexDigits[] = { 'F', '0', '6', 'A', '1', '8', 'C', '2', '9', '3', 'B', '4', '5', 'D', '7', 'E' };
        try
        {
            md = MessageDigest.getInstance("MD5");
            // md=MessageDigest.getInstance("MD5");
            md.update(plainText);// 使用指定的字节数组更新摘要。
            byte[] mdByte = md.digest();// 使用指定的字节数组对摘要进行最后更新，然后完成摘要计算。
            int mdLength = mdByte.length;
            char str[] = new char[mdLength * 2];
            int k = 0;
            byte pbyte = 0;
            for (int i = 0; i < mdLength; i++)
            {
                pbyte = mdByte[i];
                str[k++] = hexDigits[pbyte >>> 4 & 0xf];
                str[k++] = hexDigits[pbyte & 0xf];
            }
            return new String(str);
        }
        catch (NoSuchAlgorithmException e)
        {
            e.printStackTrace();
            return null;
        }
    }
}
